#ifndef FL_FONT_H
#define FL_FONT_H

#include <wchar.h>

#ifdef JMBC_INSIDE

#include <ft2build.h>
#include FT_FREETYPE_H

typedef struct
{
	FT_Face face;
} FLFont;

#endif

// Context

void
flFontCreateContext(void);

void
flFontDestroyContext(void);

// Generation / Deletion

void
flGenFonts(unsigned int n, unsigned int *fonts);

void
flDeleteFonts(unsigned int n, unsigned int *fonts);

// Load / Unload

void
flFontLoad(unsigned int id, unsigned int pathname);

void
flFontUnload(unsigned int id);

// Query

void
flFontStringMetrics(unsigned int id, unsigned int string, unsigned int *w, unsigned int *h);

// Operation

void
flFontSetPixelSizes(unsigned int id, unsigned int w, unsigned int h);

void
flFontDrawStringTexture(unsigned int id, unsigned int string);

void
flFontDrawStringOutline(unsigned int id, unsigned int string);

void
flFontDrawStringWire(unsigned int id, unsigned int string, unsigned int z);

void
flFontDrawStringFill(unsigned int id, unsigned int string);

void
flFontDrawStringSolid(unsigned int id, unsigned int string, unsigned int z);

#endif
